9cd88f45a6eeb6efb61fbd70ef0243b236ac919a,src/heros/alias/FieldSensitiveIFDSSolver.java,FieldSensitiveIFDSSolver,registerInterestedCaller,#M#IncomingEdge#,310
Before Change
logger.trace("RECHECKING-PAUSED-EDGE: {} for new incoming edge {}", edge, incomingEdge);
Constraint<FieldRef> constraint = new DeltaConstraint<FieldRef>(incomingEdge.getCalleeSourceFact().getAccessPath(), edge.factAtSource().getAccessPath());
propagateConstrained(new ConcretizationPathEdge<>(
applyConstraint(constraint, incomingEdge.getCallerSourceFact()),
incomingEdge.getCallSite(),
applyConstraint(constraint, incomingEdge.getCallerCallSiteFact()),
method,
applyConstraint(constraint, incomingEdge.getCalleeSourceFact())));
}
}
}
After Change
Constraint<FieldRef> constraint = new DeltaConstraint<FieldRef>(incomingEdge.getCalleeSourceFact().getAccessPath(), edge.factAtSource().getAccessPath());
if(constraint.canBeAppliedTo(incomingEdge.getCallerSourceFact().getAccessPath()) &&
constraint.canBeAppliedTo(incomingEdge.getCallerCallSiteFact().getAccessPath())) {
propagateConstrained(new ConcretizationPathEdge<>(
applyConstraint(constraint, incomingEdge.getCallerSourceFact()),
incomingEdge.getCallSite(),
applyConstraint(constraint, incomingEdge.getCallerCallSiteFact()),
method,
applyConstraint(constraint, incomingEdge.getCalleeSourceFact())));
}
}
}